The present invention relates to computer-based on-line commerce, where a computer user buys goods or services through his computer by linking his computer with that of a seller through a computer network.
As networks of linked computers become an increasingly more prevalent concept in everyday life, so-called xe2x80x9con-linexe2x80x9d interactions between computer users has begun to spread into many different areas of our lives. One of these areas is the marketplace for goods and services.
In the past couple of years there has been an explosive growth in the use of the globally-linked network of computers known as the Internet, and in particular of the WorldWide Web (WWW), which is one of the facilities provided on top of the Internet. The WWW comprises many pages or files of information, distributed across many different server computer systems. Information stored on such pages can be, for example, details of a company""s organization, contact data, product data and company news. This information can be presented to the user""s computer system (xe2x80x9cclient computer systemxe2x80x9d) using various types of data in combination, for example, text, graphics, audio data and video data. Each page is identified by a Universal Resource Locator (URL). The URL denotes both the server machine, and the particular file or page on that machine. There may be many pages or URLs resident on a single server.
In order to use the WWW, a client computer system runs a piece of software known as a Web browser, such as WebExplorer (provided as part of the OS/2 operating system from IBM Corporation), or the Navigator program available from Netscape Communications Corporation. xe2x80x9cWebExplorerxe2x80x9d, xe2x80x9cOS/2xe2x80x9d and xe2x80x9cIBMxe2x80x9d are trademarks of the International Business Machines Corporation, while xe2x80x9cNavigatorxe2x80x9d and xe2x80x9cNetscapexe2x80x9d are trademarks of the Netscape Communications Corporation. The client computer system interacts with the browser to select a particular URL, which in turn causes the browser to send a request for that URL or page to the server identified in the URL. Typically the server responds to the request by retrieving the requested page, and transmitting the data for that page back to the requesting client computer system (the client/server interaction is performed in accordance with the hypertext transport protocol (xe2x80x9cHTTPxe2x80x9d)). This page is then displayed to the user on the client screen. The client may also cause the server to launch an application, for example to search for WWW pages relating to particular topics.
Most WWW pages are formatted in accordance with a computer program written in a language known as HTML (hypertext mark-up language). This program contains the data to be displayed via the client""s browser as well as formatting commands which tell the browser how to display the data. Thus a typical Web page includes text together with embedded formatting commands, referred to as tags, which can be used to control the font size, the font style (for example, whether italic or bold), how to layout the text, and so on. A Web browser xe2x80x9cparsesxe2x80x9d the HTML script in order to display the text in accordance with the specified format. HTML tags are also used to indicate how the text, graphics, audio and video are manifested to the user via the client""s browser.
Most Web pages also contain one or more references to other Web pages, which need not be on the same server as the original page. Such references may generally be activated by the user selecting particular locations on the screen, typically by (double) clicking a mouse control button. These references or locations are known as hyperlinks, and are typically flagged by the browser in a particular manner (for example, any text associated with a hyperlink may be in a different colour). If a user selects the hyperlink, then the referenced page is retrieved and replaces the currently displayed page.
Further information about HTML and the WWW can be found in xe2x80x9cWorld Wide Web and HTMLxe2x80x9d by Douglas McArthur, p18-26 in Dr Dobbs Journal, December 1994, and in xe2x80x9cThe HTML SourceBookxe2x80x9d by Ian Graham, (John Wiley, New York, 1995).
Enterprises (companies) are considering their usage of the World Wide Web. The first phase, namely the publicity of the company in whatever form, has already occurred. Home pages are commonplace, an essential ingredient for any company which wishes to maintain itself in line with current business practices. The publicity material contains marketing information, product brands and, in some cases, product catalogues.
The second phase, namely to conduct commerce, is emerging. Enterprises are poised to conduct business by way of the World Wide Web. They are seeking to make sales of their products and services, by way of the World Wide Web.
Software infrastructure is coming into existence to enable the progress of this trend. Secure financial protocols have been defined and are being implemented. The provision of firewall technologies offer safeguards to the enterprise, without which the enterprise would not contemplate permitting access to its critical data. Gateway products are becoming available to facilitate connection between the World Wide Web and the server machines of the enterprise.
Thus, many suppliers have begun to sell their goods and services over the World Wide Web as well as placing their catalogues on their Web pages.
Oftentimes, buyers are trying to coordinate a group of interrelated xe2x80x9con-linexe2x80x9d purchases of goods and services. For example, to book a two-week trip overseas a buyer may wish to book not only the airline reservation but also the parking at the airport (or bus/train reservations), hotel, rental car and restaurant reservations. This can be a frustrating and confusing experience because if the buyer books the airline reservation, hotel and rental car he may then find that airport parking (and bus/train reservations) are unavailable or too inconvenient to match up with the other booked reservations. This would require having to recontact the suppliers of the booked reservations and trying to renegotiate a new booking. In the case of the airline, this is oftentimes difficult to impossible.
So-called intelligent agents are available to help an xe2x80x9con-linexe2x80x9d buyer in these situations. Intelligent agents are computer programs that simulate a human relationship by doing something that another person could otherwise do for you. For example, the Telescript agent software developed by General Magic, a Silicon Valley start-up company, supports the deployment of software agents to act as personal delegates across a computer network (xe2x80x9cTelescriptxe2x80x9d is a trademark of General Magic company). The agent performs various tasks at electronic venues (servers) called xe2x80x9cplacesxe2x80x9d which include electronic mailboxes, calendars and marketplaces.
The Telescript agents gather information resourcefully and negotiate deals on behalf of the client buyer (the principal for whom the agent is working). The agent can be customized by each individual buyer/user so that the agent reflects the choices and desires of the buyer/user (client) with respect to what the client is looking for in choosing a supplier of an item. The agents are intelligent in the sense that they can execute contingency plans if the most preferred plan is not feasible given the supplier resources and the general server environment at the time of the agent""s dispatch. The Telescript agent can be sent to an electronic florist, ticket seller and restaurant to Perform a shopping trip for the client on the other side of the computer network. The details of such software agents are well known and are explained, for example, in xe2x80x9cInternet Agents, Spiders, Wanderers, Brokers, and Botsxe2x80x9d, Fah-Chun Cheong, New Riders Publishing, Indianapolis, Ind., USA, 1996.
In the situations described above, where an on-line buyer wishes to coordinate a group of interrelated on-line purchases which must all link together in a convenient way, software agents have been quite helpful, but still have not completely made this process convenient for the buyer. Many of these agents have their software structured so that the various transactions are booked in such a way that the agent must expend the least effort in contacting servers etc. That is, as long as the agent can find one possible way to meet all of the items of the package while meeting the client""s preferences for each item, the package is assembled and presented to the client for approval. While the agent is relieved from having to perform extra processing steps, this xe2x80x9cleast effortxe2x80x9d approach does not always result in the best possible solution for the client. With this approach, there is a good chance that the client may not be presented with the best possible package, as the known agents seek to minimize the work they must do in fulfilling the client""s package.
According to a first aspect, the present invention provides a method of performing computer-based on-line commerce in which a client computer issues a group of interrelated commercial requests and each one of a plurality of server computers is available to service at least one of said requests, said method, performed by an intelligent agent, comprising steps of: receiving the group of interrelated commercial requests from said client computer; and finding servers which will satisfy said group of requests using client preference levels indicating for each request at least one preferred value which the client would like the agent to use in finding a server to satisfy that request; characterized in that said finding step also uses a client significance level indicating for a corresponding request the relative significance of this request in comparison to the other requests in the group.
Preferably, said intelligent agent uses a table listing client preference levels versus client significance levels for the group of interrelated requests. This way, the agent can easily check the table when putting together the package in order to satisfy both the client""s preference levels and significance levels.
Further preferably, the requests are grouped into two significance level groups, the first group being a mandatory group and the second group being an optional group. This way, the agent can use these two groups to decide which requests are absolutely critical to the group and which requests are merely optional. The agent can then report the completed package to the client if all the mandatory requests have been satisfied even if any of the optional requests have not been satisfied.
According to a second aspect, the invention provides an apparatus for carrying out the method steps of the first aspect.
According to a third aspect, the invention provides a computer program product stored on a computer readable storage medium for, when run on a computer, instructing the computer to perform the steps of the method steps of the first aspect.
The present invention places more processing capability in the intelligent agent, as compared to previously known agents, so that the agent must do more work in putting together a package of related items for a client. The agent is not allowed to consider only the client""s preferences for what will satisfy each item of the package and thus do the minimum amount of work required to put together a package which satisfies the client""s preferences. The agent is given more constraints to work with so that the client is presented with a more optimum package given that particular client""s wishes. Specifically, the agent takes into account the significance level given to each item in the package.